package com.example.demo.ai;

import com.example.demo.ai.model.InterviewAnalysis;
import com.example.demo.ai.model.InterviewQA;
import com.example.demo.ai.model.ResumeAnalysis;
import com.example.demo.ai.model.InterviewQuestionFormat;
import java.util.List;

public interface DeepSeekService {

    List<InterviewQA> generateExampleAnswers(String resumeText, List<InterviewQA> qaList);

    // 生成单个面试问题（结合岗位和简历）
    String generateSingleInterviewQuestion(String resumeText, String jobTitle, String jobDescription, String industry, Integer difficulty, List<String> previousQuestions);

    List<String> generateInterviewQuestions(String resumeText, int questionCount);

    List<String> generateInterviewQuestions(String resumeText, String jobTitle, String jobDescription,
                                            String industry, Integer difficulty);

    InterviewAnalysis analyzeInterviewAnswers(String resumeText, List<InterviewQA> qaList);

    // 分析简历内容并给出改进建议（基础版）
    ResumeAnalysis analyzeResume(String resumeText);
    
    // 分析简历内容并给出改进建议（结合岗位）
    ResumeAnalysis analyzeResume(String resumeText, String jobTitle, String jobDescription);

    List<InterviewQuestionFormat> generateFormattedInterviewQuestions(String resumeText, int questionCount);

    List<InterviewQuestionFormat> generateFormattedInterviewQuestions(String resumeText, String jobTitle,
                                                                      String jobDescription, String industry, Integer difficulty);

    // 生成单个固定格式的面试问题
    InterviewQuestionFormat generateSingleFormattedInterviewQuestion(String resumeText, String jobTitle, String jobDescription, String industry, Integer difficulty, List<String> previousQuestions);

    String generateSingleInterviewQuestionWithAnswers(String resumeText, String jobTitle, String jobDescription, String industry, Integer difficulty, List<InterviewQA> qaList);
}